两台linux 服务器,实现linux11 免密登录linux12
预设环境说明
假设 linux11 地址:10.10.10.11 用户为 root
假设 linux12 地址:10.10.10.12 用户为 root
Linux 环境为 centos 7
在linux11 上执行
生成 SSH 密钥对
如果本地机器已经生成过 SSH 密钥对,可跳过此步骤。
使用 ssh-keygen 命令生成密钥
1 | # 使用 ED25519 加密算法生成 |
ssh-keygen 参数用法可参考网络。
根据后续命令(文件名称、密码等)提示生成密钥对。
假如使用的是 ED25519 算法,使用默认配置生成密钥对,不设置密码,那么应该可以在用户根目录找到:
私钥文件 \root.ssh\id_ed25519
公钥文件 \root.ssh\id_ed25519.pub
后边步骤我们将用到公钥文件 id_ed25519.pub
注意,.ssh 为隐藏文件夹
在 Linux 上添加公钥
检查 sshd 服务状态,并查看服务端口(默认端口 22,如果不是 22 则使用 ssh 命令时需要使用 ssh -P {端口号} 指定端口号)。
1 | systemctl status sshd |
如果服务已启动,则可以看到服务状态,查看服务端口
如果 SSH 服务端没有安装/启动,则应该先安装/启动 SSH 服务。
查看 SSH 服务配置 /etc/ssh/sshd_config,添加 PubkeyAuthentication yes,允许使用公钥免密认证 SSH 登陆。
1 | /etc/ssh/sshd_config |
也可以查看到认证公钥文件配置
一般默认为 AuthorizedKeyFile .ssh/authorized_keys
将linux11 公钥 id_ed25519.pub 中的内容复制到 linux12 /root/.ssh/authorized_keys 文件夹中。
如果 /root/.ssh/authorized_keys 文件不存在,直接创建文件即可。
添加完之后,重启 linux12 的 SSH 服务,
1 | systemctl restart sshd |
即可使用 linux11免密登陆 linux12
1
ssh root@10.10.10.12 -P 22
注意第一次免密,要填写yes 同意协议
一辈子很短,努力的做好两件事就好;
第一件事是热爱生活,好好的去爱身边的人;
第二件事是努力学习,在工作中取得不一样的成绩,实现自己的价值,而不是仅仅为了赚钱;